The present invention is in the field of computer-aided sales and marketing and has particular application to software tools for generating, merging, and optimizing Knowledge Bases.
Computer-aided sales presentations wherein rules-based configurators are employed are valuable tools for allowing a customer or client to configure orders for products. This technique is employed in a network environment wherein a client configures his or her order and sends it over the Internet, or another type of network, to a seller which can fill the order. For example, a specific model of a product may have many different features, accessories, options, etc. With the appropriate application, a client can configure his or her own custom order for a particular model or type of product. By employing an interactive software method a client can apply certain desired features in his product-order configuration that were chosen from options provided by a seller.
More recently, it is known to the inventor that object-oriented, constraint-based configurators have begun to replace rules-based configurators by virtue of more flexible organization. For example, rules-based configurators rely on set rules that are programmed in a procedural computer language. Once the object models are complete they cannot be easily changed. Generally, programming is required to initiate revision to the product. However, with a knowledge-based configurator, the rules can be revised by editing the knowledge base itself. The knowledge base then applies the changes via automated linking to other elements of the process such as an object model. However, the object models are dependent on the language and platform used for implementation of the knowledge base. Generally programming is required to initiate revision to the product across several platforms and languages.
Generally speaking, an object model representing a product, such as a new automobile for example, is created using a programming language within a model-building application at the sellers end. This object model contains all of the descriptive elements and various features including cost information about the object it represents. A model writer procedure then writes a binary file, which is readable only to applications written in the same environment. These object models can then be presented to a client having the appropriate software application on the correct platform and using the required language. The client can then enter his desired choices or options via interactive software. A configurator commonly known as a run-time engine insures that the client""s choices are applied correctly. The configurator is also adapted to negate any conflict or impossibility that may arise from the client""s directives.
A difficulty with the current state of the art is that although a knowledge base is superior to a rules base as described above, the knowledge base is language-dependent and not easily transferred across different platforms (i.e. IBM to Macintosh, or even Win 3.1 vs. Win 95). For example, a client would be required to operate in the same computer platform and language to be able to interactively configure a desired purchase. This can severely hamper the seller""s ability to reach a large portion of a target market.
The difficulty described in the immediately preceding paragraph has been successfully addressed by the inventor with reference to the prior co-pending patent application entitled xe2x80x9cMethod for Generating and Updating Knowledge-Based Configurators that are Multi Platform and Multi Language Capablexe2x80x9d. The incorporation of American Standard Code for Information Interchange (ASCII) files into the process as described in the prior patent application, incorporated herein by reference, allows the seller to transport human-readable ASCII files (flat files)) over a wide area network (WAN) such as the Internet to clients who may be operating different platforms and using different procedural languages, and the clients can then use the files.
It is well known in the art that certain seller-offered products such as automobiles, appliances, computers, and the like may be provided or presented in the form of a number of different models, with each model sharing certain commonalties and having certain differences from the others. In these instances, sellers may have to send several separate ASCII files to clients, for example, who know they want a basic type of product, but who are unsure of which exact model and what offered features within a model they want. Therefore, a problem arises both for the seller and the client in that the transportation of many ASCII files over a network requires significant bandwidth to deliver, significant memory to store, and considerable execution on the client side associated with loading various files to a configurator and executing the files.
Another significant advantage is that the user then can go through the selection and configuration process using the bottom-up approach, meaning that the configuration can start by selecting a feature as opposed to starting from the model. This allows for a free-form configuration process.
What is clearly needed is a method whereby several separate knowledge bases covering different versions of the same basic product can be merged and optimized so that one significantly more compact ASCII file may be sent to the client. Such a method would save transport time and associated cost, allow the client to load a single knowledge base into his configurator, and require less computer memory for the client to store files.
In a preferred embodiment of the present invention a method for integrating a first and a second knowledge base file into a single smaller integrated third file is provided, comprising steps of (a) loading at least portions of the two files to a software integrating engine; and (b) merging all instances of each unique parameter in the loaded portions of the first and second files into a single composite parameter in the integrated third file. The method may be further characterized, in situations wherein each of the two files represent a unique characteristic of a particular abstract entity, by a step for adding constraints to each single composite parameter in the third file, indicating which unique characteristic designates each value. Still another step may be added for merging all common value and activity constraints from the loaded portions of the first and second files into a single constraint by forming a single constraint with the common left-side term and creating a new right-side term from the multiple right-side terms for each common left-side term.
In some embodiments the two original files are loaded and integrated in their entirety. Also in some embodiments any number of files may be processed into a single, smaller file. An additional step may also be added for compressing the resulting single integrated file by conventional compression techniques, resulting in a still smaller final file.
The method taught is applicable to knowledge base files created for a wide variety of purposes, such as, for example, representing options and so forth for different models of a single brand of an automobile. Such files may be used with a graphical user interface (GUI) for allowing a potential customer or client to select options, colors, etc. for purchasing such an automobile.
In another aspect of the invention a software engine is provided, comprising modules for accomplishing the various steps above-described in the methods provided. It is convenient to prepare knowledge bases for different models and aspects of particular products and services, partly because, in some systems, not all of the resulting files will need be transferred to a potential customer. When it is known, however, which files (knowledge) a customer will need, it is also desirable to integrate the several files into a single smaller file before transfer, because this process results in quicker and less expensive transfer. An added benefit is that the customer will then have to load and deal with only the one file, rather than with several files.